package com.itheima.a01mymap;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

public class A01_MapDemo3 {
    public static void main(String[] args) {
        //Map集合的第二种遍历方式（键值对entry）

        //创建Map实现类对象并添加元素
        Map<String, String> m = new HashMap<>();
        m.put("a", "b");
        m.put("c", "d");
        m.put("e", "f");

        //把键值对对象按entry的形式塞入set集合
        Set<Map.Entry<String, String>> set = m.entrySet();

        //增强for遍历set集合
        for (Map.Entry<String, String> entry : set) {
            //通过entry利用getkey和getValue方法找到对应键和值
            String key = entry.getKey();
            String value = entry.getValue();
            System.out.println(key + "=" + value);
        }


        System.out.println("--------------");
        //迭代器遍历set
        //获取迭代器对象
        Iterator<Map.Entry<String, String>> it = set.iterator();
        while (it.hasNext()) {
            //获取每一个entry
            Map.Entry<String, String> entry = it.next();
            String key = entry.getKey();
            String value = entry.getValue();
            System.out.println(key + "=" + value);
        }

        System.out.println("--------------");
        //lambda遍历set集合
        set.forEach(entry->{
                String key = entry.getKey();
                String value = entry.getValue();
                System.out.println(key + "=" + value);
            }
        );

    }
}
